======================================================
              GBA MultiDeCompressor 0.3beta2e
                        by Mat
                      21/05/2004
======================================================
------------------------------------------------------
0 - INDEX 
------------------------------------------------------

1 - Intro
2 - Usage
3 - Technical Notes
4 - Progress
5 - Future Progresses
6 - Thanks
7 - Disclaimer


------------------------------------------------------
1 - INTRO
------------------------------------------------------

This program allows the extraction and reinsertion of
compressed segments from Gameboy Advance ROMs.
The program allows you to specify the start offsets
or to analyze a log from VisualBoyAdvance in order to
obtain information on the compressed zones.
Moreover it generates automatically a batch file
which can easily reinsert the data.


------------------------------------------------------
2 - USAGE
------------------------------------------------------

This is a command line tool that it is used at the DOS
prompt (Start\Programs or Start\Programs\Accessories).


EXTRACTION FROM AN SINGLE OFFSET

 In order to extract the data beginning from an offset
 one known to digit:
   GBAmdc -e rom.gba dest.dat offset(hex)

 Where, naturally, rom.gba is the ROM, dest.dat is the
 file that stores the extracted data and offset(hex)
 is the offset from which extraction begins
 (in hexadecimal).


EXTRACTION BY MEANS OF LOG

 In order to extract the data using a VisualBoyAdvance
 log to digit:
   GBAmdc -a rom.gba log.txt

 Where, naturally, rom.gba is the ROM and log.txt is
 the log saved from VBA. During this operation, files
 will be created containing the data in the form of
 001.dat, 002.dat, etc and batch files will be created
 to automatically reinsert the data.


TO COMPRESS A FILE WITH LZ77

 In order to compress rows and to insert the data
 to an offset one known to digit:
   GBAmdc -cL7 dati.dat rom.gba offset(hex)

 Where, naturally, data.dat is the data to compress,
 romb.gba is the ROM and offset(hex) is the location
 in the ROM where data is to be written (in hex.)


TO COMPRESS A FILE WHIT LZ77 (MAXIMUM COMPRESSION)

 To use the same procedure of normal LZ77 compression,
 change the option in -cL7m
 Council to try this compression ony if you have a
 lack of space, since this can sometimes corrupt the
 data.


SAVING A LOG WITH VBA
 Open VBA, then go to Tools\Loggin and activate SWI.
 Load the ROM and wait for it to load the compressed
 data, then go to Logging and click Save in order to
 save the log.
 NOTE: the logging work only in the Developer version
       of VBA


------------------------------------------------------
3 - TECHNICAL NOTES
------------------------------------------------------

The LZ77 compression gave me quite a lot of troubles,
because inside the emulator various images were
turning out corrupt. Now work, however the
inconvenience is always possible.
There is furthermore the possibility what once
modified the recompressed files are bigger than the
original and therefore they overwrite other data into
the ROM.
Now to make easier the control, the dimensions of the
ROM data are printed, even, a little oversize is
accepted.
If the modified files are too much large than the
original, try with the maximum compression, but it
not guarantee always the correct visualization of
the images (however to try not null coast).


------------------------------------------------------
4 - PROGRESS
------------------------------------------------------

Version 0.3beta2e (21/05/2004)

- Added the English readme


Version 0.3beta2 (10/01/2004)

- Printed to video the dimensions of the
  extract/compressed files in the ROM in order to
  allow you to control the dimensions
- Inserted the maximum compression (to be tried,
  because sometimes corrupts the images)


Version 0.3beta (02/01/2004) 

- Resolved small bug in LZ77 decompression
- Inserted LZ77 compression (with much hard work it
  seems that it is successful to understand the
  particular characteristics of that one originates
  them)
- In the extraction using logs added the automatic
  creation of a .bat for the reinsertion.


Version 0.2beta (28/12/2003) (not published)

- LZ77 decompression using a VBA log file.


------------------------------------------------------
5 - FUTURE PROGRESS
------------------------------------------------------

- I'll correct eventual bugs
- I'll add the management of the other types of
  compression used by GBA.
- Publish the sourcecode

------------------------------------------------------
6 - THANKS
------------------------------------------------------

^Anyone who will use or publish this program :)
^Ombra because he "forced" me to realize this 
 program and for his precious infos
^mentz, to have been the first using this program
^GeO to have sent me the first version of this readme


------------------------------------------------------
7 - DISCLAIMER
------------------------------------------------------

This program must be used only for LEGAL intents!
Use this program to your risk and danger :).
This program can be freely distributed. I only 
recommend to distribute it in the state in 
which it is (don't modify the readme etc etc).
Thanks.

Game Boy Advance, Nintendo, VisualBoyAdvance and the
relative names are trademarks of the relative owners.

Mat
mattia.d.r@libero.it
http://www.matzone.altervista.org/
Member of SadNES cITy: http://www.sadnescity.it/
